import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

// 首先声明一个状态 state
const state = {
  baseURL: 'http://39.108.115.189:8001',
  socketURL: 'ws://39.108.115.189:8001',
  token: '', // cookie
  fristTime: '', // 聊天室请求时间
  chatPostion: '', // 聊天室滚动条位置
  customerPort: '', // 当前客户端
  userData: {}, // 用户信息
  sreachval: '', // 搜索条件
  mySend: false // 是否为自身发布
}
// 然后给 actions 注册一个事件处理函数，当这个函数被触发时，将状态提交到 mutaions中处理
const actions = {
  saveName({ commit }, msg) { // 提交到mutations中处理
    commit('saveMsg', msg)
  }
}
// 更新状态
const mutations = {
  saveUser(state, data) {
    state.userData = data
  },
  updateToken(state, data) {
    state.token = data
    localStorage.setItem('apiToken', data)
  },
  updateChatTime(state, data) {
    state.fristTime = data
  },
  updateChatPostion(state, data) {
    state.chatPostion = data
  },
  updatePort(state, data) {
    state.customerPort = data
  },
  updatemySend(state, data) {
    state.mySend = data
  },
  updateSreach(state, data) {
    state.sreachval = data
  }
}
// 获取状态信息
const getter = {
  showState(state) {
    console.log(state.msg)
  }
}

// 下面这个相当关键了，所有模块，记住是所有，注册才能使用
export default new Vuex.Store({
  state,
  getter,
  mutations,
  actions
})
